---
title: clsCaseCost
summary: Represents a billing/cost line item associated with a legal case (e.g., attorney fees, court costs).
status: draft
owner: SAIF Case Management team
last_reviewed: 2026-08-21
library: SAIF.Business.Claim.Legal
reference_type: embedded
---

# clsCaseCost

Represents a billing/cost line item associated with a legal case (e.g., attorney fees, court costs).

| Field | Value |
|---|---|
| **Base class** | `clsBusinessBase` (`SAIF.Framework.Core`)† |
| **Source file** | `SAIF.Business.Claim.Legal\LegalNet\clsCaseCost.vb` |

## Public members

### Properties

| Member | Signature | Purpose |
|---|---|---|
| `CaseCostID` | `ReadOnly Property CaseCostID() As Decimal` | Identifies the case cost record. |
| `LegalCaseID` | `ReadOnly Property LegalCaseID() As Decimal` | Identifies the legal case the cost entry belongs to. |
| `CreateDate` | `ReadOnly Property CreateDate() As Date` | Date the cost record was created. |
| `CreateUser` | `ReadOnly Property CreateUser() As String` | User ID that created the cost record. |
| `UpdateDate` | `ReadOnly Property UpdateDate() As Date` | Date the cost record was last updated. |
| `UpdateUser` | `ReadOnly Property UpdateUser() As String` | User ID that last updated the cost record. |
| `PayeeFirmProvLocID` | `Property PayeeFirmProvLocID() As Decimal` | Provider-location ID of the payee firm. |
| `FirmProvider` | `ReadOnly Property FirmProvider As View.Provider.clsProviderLocation` | The payee firm's provider-location record, loaded on `Load`. |
| `WorksFor` | `ReadOnly Property WorksFor As View.Provider.clsProviderRelationshipCollection` | The payee firm's "works for" provider relationships, loaded on `Load`. |
| `PayeeFirmName` | `ReadOnly Property PayeeFirmName As String` | Business name of the payee firm, resolved from `FirmProvider`. |
| `AuthorizedBy` | `ReadOnly Property AuthorizedBy As String` | Name of the SAIF staff member who authorized the cost, resolved from `AuthorizerEmployerID`. |
| `ServiceFromDate` | `Property ServiceFromDate() As Date` | Start of the billed service period. |
| `ServiceCode` | `Property ServiceCode() As String` | Code identifying the type of billed service. |
| `ServiceDescription` | `ReadOnly Property ServiceDescription As String` | Resolves `ServiceCode` to its descriptive code-table label. |
| `AmountPaid` | `Property AmountPaid() As Decimal` | Amount paid for the service. |
| `AmountBilled` | `Property AmountBilled() As Decimal` | Amount billed for the service. |
| `IsPrePayment` | `Property IsPrePayment() As Boolean` | Indicates whether the cost entry represents a prepayment. |
| `AmountPerHour` | `Property AmountPerHour() As Decimal` | Billed hourly rate. |
| `HoursBilled` | `Property HoursBilled() As Decimal` | Number of hours billed. |
| `PayeePersonName` | `ReadOnly Property PayeePersonName As String` | Name of the individual payee, resolved from the payee's provider address.* |
| `PayeePersonProvLocID` | `Property PayeePersonProvLocID() As Decimal` | Provider-location ID of the individual payee (as opposed to the payee firm). |
| `ServiceToDate` | `Property ServiceToDate() As Date` | End of the billed service period. |
| `AuthorizerEmployerID` | `Property AuthorizerEmployerID() As String` | Employee ID of the staff member authorizing the cost. |
| `AuthorizedDate` | `Property AuthorizedDate() As Date` | Date the cost was authorized. |
| `CancelledBYCode` | `Property CancelledBYCode() As String` | Code identifying who cancelled the cost entry, if cancelled. |
| `CancelledByDescription` | `ReadOnly Property CancelledByDescription As String` | Resolves `CancelledBYCode` to its descriptive code-table label. |
| `IsValid` | `Overrides ReadOnly Property IsValid As Boolean` | Returns `True` if the object is not dirty, or otherwise defers to the base validity check (`MyBase.IsValid`). Overrides `clsBusinessBase.IsValid`. |

### Methods

| Member | Signature | Purpose |
|---|---|---|
| `GetCaseCosts` (shared, on collection) | `Shared Function GetCaseCosts(inDataportal As IDataPortalInfo, inLegalCaseID As Decimal) As clsCaseCostCollection` | Retrieves the collection of case costs for a legal case (member of `clsCaseCostCollection`). |
| `NewCaseCost` (on collection) | `Function NewCaseCost() As clsCaseCost` | Creates a new case cost and adds it to the owning `clsCaseCostCollection`. |

### Constructors

| Member | Signature | Purpose |
|---|---|---|
| `New` | `Protected Friend Sub New()` | Framework-invoked constructor that registers business rules; instances are created through the `NewCaseCost`/`GetCaseCost` factory methods rather than directly. |

## Protected internal members

The following members exist in source but are not part of the class's public surface; they are documented here for completeness rather than in the "Public members" section above.

| Member | Signature | Purpose |
|---|---|---|
| `AddBusinessRules` | `Protected Overrides Sub AddBusinessRules()` | Registers this class's business rules (e.g., service-date and authorization-date validations) with the framework rule engine. |
| `Load` | `Protected Friend Sub Load(inDataPortalInfo As IDataPortalInfo, Row As clsResultSet.DataRow)` | Populates the object from a result-set row and loads the related `FirmProvider`, `WorksFor`, and payee address. |

## Inherited public members

The following members are inherited from `clsBusinessBase` (`SAIF.Framework.Core`) and are not re-declared in this class:

| Member | Kind | Description |
|---|---|---|
| `Save` | Method | Dispatches to the correct `IBusinessCriteria` CRUD SQL based on object state.† |

## Related SQL

- [DB-CLL-001](../../sql/SQL-001-casecost.md)
- [DB-CLL-002](../../sql/SQL-002-casecost.md)
- [DB-CLL-003](../../sql/SQL-003-casecost.md)
- [DB-CLL-004](../../sql/SQL-004-casecost.md)

## Related operations

- [Manage case cost entries](../../operations/manage-case-cost.md)

> **Note:** Statements marked with † are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Sources

- `SAIF.Business.Claim.Legal\LegalNet\clsCaseCost.vb`
